package springboot.activeMQ ;

import javax.jms.ConnectionFactory ;

import org.springframework.context.annotation.Bean ;
import org.springframework.context.annotation.Configuration ;
import org.springframework.jms.annotation.EnableJms ;
import org.springframework.jms.config.DefaultJmsListenerContainerFactory ;
import org.springframework.jms.config.JmsListenerContainerFactory ;

/**
 * JmsListener的配置类，配置queue和topic的监听器
 * @author 80002165 @date 2017年7月13日 下午4:50:59
 */
@Configuration
@EnableJms
public class JmsListenerConfiguration {
    
    // 设置queue的消息监听器
    @Bean
    public JmsListenerContainerFactory<?> jmsListenerContainerQueue(ConnectionFactory activeMQConnectionFactory) {
        DefaultJmsListenerContainerFactory queueBean = new DefaultJmsListenerContainerFactory() ;
        queueBean.setConnectionFactory(activeMQConnectionFactory) ;
        return queueBean ;
    }
    
    // 设置topic的消息监听器
    @Bean
    public JmsListenerContainerFactory<?> jmsListenerContainerTopic(ConnectionFactory activeMQConnectionFactory) {
        DefaultJmsListenerContainerFactory topicBean = new DefaultJmsListenerContainerFactory() ;
        topicBean.setPubSubDomain(true) ;
        topicBean.setConnectionFactory(activeMQConnectionFactory) ;
        return topicBean ;
    }
}
